/************************************************************************
 * <br>
 * <ul>
 * <li>版权所有：唐山弘川科技有限公司 2009－2020</li>
 * <li>创建日期：2009-8-11</li>
 * <li>初始作者：刘川</li>
 * </ul>
 * <ul>
 * <b>修订历史</b>
 * <li>1、</li>
 * </ul>
 ***********************************************************************/
package com.hy.enterprise.framework.service ;

//import org.jboss.seam.async.Schedule;

import com.hy.enterprise.framework.component.IComponent;

/**
 * <ul>
 * <li>设计作者：刘川</li>
 * <li>设计日期：2009-8-11</li>
 * <li>设计时间：上午10:16:14</li>
 * <li>设计目的：表现Libra系统服务的接口</li>
 * </ul>
 * <ul>
 * <b>修订历史</b>
 * <li>1、</li>
 * </ul>
 */
public interface ILibraService extends IComponent
{
	/**
	 * <ul>
	 * <li>设计作者：刘川</li>
	 * <li>设计日期：2009-8-11</li>
	 * <li>设计时间：上午10:35:53</li>
	 * <li>设计目的：抛出异步事件</li>
	 * </ul>
	 * <ul>
	 * <b>修订历史</b>
	 * <li>1、</li>
	 * </ul>
	 * 
	 * @param eventName
	 * @param parameters
	 */
	public void raiseAsynchronousEvent (
	                                     String eventName ,
	                                     Object ... parameters ) ;

	/**
	 * <ul>
	 * <li>设计作者：刘川</li>
	 * <li>设计日期：2009-8-11</li>
	 * <li>设计时间：上午10:36:26</li>
	 * <li>设计目的：抛出同步事件</li>
	 * </ul>
	 * <ul>
	 * <b>修订历史</b>
	 * <li>1、</li>
	 * </ul>
	 * 
	 * @param eventName
	 * @param parameters
	 */
	public void raiseEvent (
	                         String eventName ,
	                         Object ... parameters ) ;

	/**
	 * <ul>
	 * <li>设计作者：刘川</li>
	 * <li>设计日期：2009-8-11</li>
	 * <li>设计时间：上午10:37:18</li>
	 * <li>设计目的：抛出调度器调度到时事件</li>
	 * </ul>
	 * <ul>
	 * <b>修订历史</b>
	 * <li>1、</li>
	 * </ul>
	 * 
	 * @param eventName
	 * @param schedule
	 * @param parameters
	 */
	//public void raiseTimedEvent(String eventName, Schedule schedule,
	//		Object... parameters);

	/**
	 * <ul>
	 * <li>设计作者：刘川</li>
	 * <li>设计日期：2009-8-11</li>
	 * <li>设计时间：上午10:38:26</li>
	 * <li>设计目的：抛出事务完成事件</li>
	 * </ul>
	 * <ul>
	 * <b>修订历史</b>
	 * <li>1、</li>
	 * </ul>
	 * 
	 * @param eventName
	 * @param parameters
	 */
	public void raiseTransactionCompletionEvent (
	                                              String eventName ,
	                                              Object ... parameters ) ;

	/**
	 * <ul>
	 * <li>设计作者：刘川</li>
	 * <li>设计日期：2009-8-11</li>
	 * <li>设计时间：上午10:38:59</li>
	 * <li>设计目的：抛出事务成功完成事件</li>
	 * </ul>
	 * <ul>
	 * <b>修订历史</b>
	 * <li>1、</li>
	 * </ul>
	 * 
	 * @param eventName
	 * @param parameters
	 */
	public void raiseTransactionSuccessEvent (
	                                           String eventName ,
	                                           Object ... parameters ) ;
}
